//
//  Modelo_Variantes.h
//  PEI
//
//  Created by asc on 04/04/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#ifndef PEI_Modelo_Variantes_h
#define PEI_Modelo_Variantes_h

#include "Modelo.h"

class variantes : public Modelo{
    
public:
/*! 
 \brief Constructor
 \retval :
 \param 4 : 
*/
    variantes(int init=4);
/*! 
 \brief Cambia el algoritmo evolutivo
 \retval void :
 \param 4 : 
*/
    void setVariante(int i=4);
/*! 
 \brief Retorna si el nodo tiene que cambiar de estado si esta ocupado
 \retval bool :
 \param nVecinos : 
*/
    bool debeMorir(int nVecinos);
/*! 
 \brief Retorna si el nodo tiene que cambiar de estado si esta vacio
 \retval bool :
 \param nVecinos : 
*/
    bool debeNacer(int nVecinos);
/*! 
 \brief Retorna el nombre del algoritmo evolutivo
 \retval string :
 \param  : 
*/
    string getNombre();
/*! 
 \brief Retorna la descripcion del algoritmo evolutivo
 \retval string :
 \param  : 
*/
    string getDesc();
    
private:
    list<int> live;
    list<int> dead;
    int variante;
    string nombre;
    string descripcion;
    
};

#endif
